package com.chen.base.utils.basic;

import java.util.List;
import java.util.Map;
import java.util.function.Predicate;

/**
 * @author: ChenJinLong
 * @DATE: 2024/7/12
 **/
public class ContainerUtil {

    /**
     * 替换元素
     * @param list list集合
     * @param t 替换后的元素
     * @param filter 过滤条件，返回true，则触发替换元素操作
     * @return 被替换出来的元素
     */
    public static <T> Map<Integer, T> replaceIf(List<T> list, T t, Predicate<T> filter){
        for (int i = 0; i < list.size(); i++) {
            if (filter.test(list.get(i))){
                return MapUtil.singleMap(i, list.set(i, t));
            }
        }
        return null;
    }

}
